package com.itcast.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

/***
 * springmvc方法中的数据返回
 *  1.可以使用ModelAndView对象
 *      设置两个值  model:返回的对象  通常是以键值对的形成存在   "username"，"张三"
 *      view:代表返回的页面  success
 *  2.可以使用model对象作为返回数据存储的对象   通过return 直接返回字符
 *  3.返回类型为void
 */
@Controller
@RequestMapping("/return")
public class ReturnController {

    //1.ModelAndView 对象作为返回值
    @GetMapping("/findId")
    public ModelAndView findId(Integer id){
        ModelAndView modelAndView = new ModelAndView();
        //进行数据的返回
        modelAndView.addObject("id",id);
        //设置返回的页面
        modelAndView.setViewName("info");
        return modelAndView;
    }
    //2.使用model对象加字符串的返回进行实现
    @GetMapping("/findId2")
    public String findId2(Model model,Integer id){
        model.addAttribute("id",id);
        return "info";
    }


    //3.演示springmvc中的重定向效果
    @GetMapping("/findId3")
    public String findId3(){
        System.out.println("重定向开始喽......");
        return "redirect:/return/findId4";
    }

    //2.使用model对象加字符串的返回进行实现
    @GetMapping("/findId4")
    public String findId4(){
        System.out.println("我开始执行了....");
        return "success";
    }
}
